1
Rubyコードのパッケージ化:ギムエコシステム
AI035Lesson 9
00:00

RubyGems エコシステムは、従来のライブラリ管理における混沌とした「依存関係の地獄」に対するRubyの答えです。共有されたグローバルディレクトリ内のファイルを上書きする代わりに、RubyGemsは アーキテクチャ的分離

1. ランタイムマジック

標準ライブラリとは異なり、各バージョンのGemは独自の自己完結型ディレクトリ内に存在します。あなたが gem '名前', 'バージョン'と呼び出すと、RubyGemsは「ランタイムマジック」を実行します:特定のGemの lib フォルダを $LOAD_PATH グローバル配列の先頭に動的に追加します。

BlueCloth 0.0.4BlueCloth 0.5.5LOAD_PATHgem 'BlueCloth', '>=0.5.5'

2. 解決策とリポジトリ

一方で、 ローカルインストール 必要な依存関係が欠けている場合、失敗する可能性がありますが、 リモートインストール--remoteを使用して)は、中央リポジトリからすべての依存関係ツリーを自動的に取得し、実行が開始される前に バージョン制約 が満たされることを保証します。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>